package cn.tedu.exam.service.impl;

import cn.tedu.exam.common.Result;
import cn.tedu.exam.model.DeviceInfo;
import cn.tedu.exam.mapper.DeviceInfoMapper;
import cn.tedu.exam.service.IDeviceInfoService;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author admin
 * @since 2022-01-07
 */
@Service
public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceInfo> implements IDeviceInfoService {

    @Autowired(required = false)
    private DeviceInfoMapper deviceInfoMapper;

    /**
     * 设备入库
     * @param model
     * @return
     */
    @Override
    public boolean add(DeviceInfo model) {
        model.setStatus(1); //1-在库 2-出库
        model.setCreateTime(LocalDateTime.now()); //创建时间
        int i = deviceInfoMapper.insert(model);
        if (i==1){
            return true;
        }else{
            return false;
        }
    }

    /**
     * 设备出库
     * （修改设备信息所在地）
     * @return
     */
    @Override
    public boolean modify(Long id ,String location) {
        DeviceInfo entity = new DeviceInfo();
        entity.setId(id);
        entity.setLocation(location);
        entity.setStatus(2);
        //通过id更新设备的所在地信息
        int f = deviceInfoMapper.updateById(entity);
        if (f ==1){
            return true;
        }else{
            return false;
        }
    }

    /**
     * 设备回收
     * （将设备所在地删除，将状态改为在库）
     * @return
     */
    @Override
    public boolean back(Long id) {
        DeviceInfo entity = new DeviceInfo();
        entity.setId(id);
        entity.setLocation(""); //删除设备所在地
        entity.setStatus(1);  //1- 在库 2 - 出库
        //通过id更新数据
        int f = deviceInfoMapper.updateById(entity);
        if (f==1){
            return true;
        }else{
            return false;
        }
    }

    /**
     * 批量删除
     *
     * @param list
     * @return
     */
    @Override
    public boolean deleteBatch(String[] list) {
        for (String id : list) {
            if (id != null && !"".equals(id)) {
                Integer i = Integer.parseInt(id);
                deviceInfoMapper.deleteById(i);
            }
        }
        return true;
    }


}
